The present invention relates to a method for generating the pattern of a character composed of strokes having certain thickness, and more particularly to a method suitable for generating character patterns having various sizes, thicknesses and starting/ending edge-side shapes using a single standard character pattern.
According to one conventional computer technique for outputting character patterns, a method has been adopted wherein a character pattern stored in the form of two-dimensional dot matrix is outputted. With this method, although a stored character pattern itself can be outputted correctly, enlargement, reduction or rotation of a character pattern cannot be done with high quality.
According to another conventional technique, a method has been adopted wherein a character pattern stored in the form of linetone images is displayed or printed out. This method has long been used in the field of X-Y plotters. With this method, it is possible to enlarge or reduce a character size or to rotate a character pattern. However, there is a problem of character quality because the original character pattern is composed of linetone images.
As a method for storing and generating character patterns eliminating the above disadvantages, there is a so-called outline font system now in use. This system is described in "PostScript Language Tutorial and Cookbook" by Adobe Systems, Inc. (Addison-Wesley Publishing, 1985) at pp. 97 to 99, pp. 219 to 221 and other pages. According to this method, the outline of a character pattern is stored in the form of straight lines and curves, and a conversion such as enlargement, reduction, rotation or the like is carried out at the time of outputting of a character pattern. Since the outline of a character pattern is stored graphically, the conversion can be carried out freely. In addition, it is possible to store an original character pattern in the form of an outline with high quality.
According to the conventional outline font system, a modification of a character pattern is performed using a normal size character pattern so that the distance between two points within the character pattern changes in accordance with a scaling factor. Thus, the width (thickness) of a stroke of the normal size character changes to a width determined by the scaling factor of a character size. However, there is a requirement that the thickness of a stroke of a character be enlarged or reduced by an amount not in proportion to the character size. For instance, it often happens that when the character size is doubled, the thickness of a stroke should be enlarged more than double. The above conventional techniques cannot meet such requirements.
Further, character patterns having various stroke thicknesses may be required in some cases, even for the same character size. If character patterns having various stroke thicknesses can be generated based on the same character pattern data, it becomes possible to reduce the number of font storage memories and the cost of generating fonts. The above conventional techniques cannot meet such requirements.
Furthermore, difficulties exist in generating another type of font with a slight change in pattern configuration, such as the presence or absence of a serif. If each outline of the character patterns of various font types is to be stored, the capacity of the font memories and the cost of generating the font become large. Therefore, it is desirable that character pattern of font types with a slight change, such as the presence or absence of a serif or the like, can be generated from standard character pattern data. The above conventional techniques cannot meet such requirements.
Another method of generating character patterns is known which generates a character pattern as a composition of stroke outline patterns (for example, Kikuchi et al, "High quality chinese character font generation method based upon positioning of parametric basic elements to a character", (Proceedings of 28th National meeting of Information Processing Society of Japan, pp. 1435-1436 (1984))). According to this prior art, a stroke outline pattern is first generated for each of the stroke patterns which should form a character. The generation of each stroke pattern is based upon predetermined data which indicate the kind of stroke for each stroke, coordinates of skeleton points which define each stroke, and outline parameter data which define an outline to be generated for each stroke.
The generated stroke outline patterns are arranged at appropriate positions, and the arranged stroke outline patterns are enlarged or reduced depending upon the size of the character pattern to be generated. Thereafter, the stroke outline patterns are painted, so as to obtain a character dot pattern.
This prior art is advantageous in that character patterns of various shapes are easily generated by changing coordinates of skeleton points or by changing the outline parameter data.
This prior art however, still has a disadvantage, as in the aforementioned outline character method, that the character size and the thickness of each stroke pattern cannot be controlled independently.